<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>变量和数据类型</title>
</head>
<body>
    <script>
        //js弱类型的语言 - 运行期间确定变量的类型.

        //string用双引号,单引号表示
        var s = "11";
        //typeof - js内置的函数 - 显示变量的数据类型
        console.log(s+":"+typeof(s));//string

        //js - string计算的特点 - 字符串是数字形式
        console.log(s + 2);//112
        console.log(s - 2);//9  string - number再计算

        //es6中推荐使用let来定义变量
        let m = 10;
        console.log(m+":"+typeof(m));//number

        let n = 3.14;
        console.log(n+":"+typeof(n)); //number

        let b = true;
        console.log(b+":"+typeof(b));//boolean

        //布尔类型允许进行计算
        console.log(b+1);// true转成1,false转成0,计算

        //undefined - 未定义
        console.log(typeof(a));

        console.log("a"-1);//NaN Not a Number 不是一个数字

        //和java不一样的
        console.log(9/2);//4.5

        let x1 = 10;
        let x2 = "10";
        console.log(x1 == x2);//true , 仅仅比较值
        console.log(x1 === x2);//false, 比较类型和值

        console.log(10 ^ 8);//2

    </script>
</body>
</html>